package com.boco.modules.fdoc.dao;

import java.util.List;

import com.boco.common.annotation.MyBatisDao;
import com.boco.common.persistence.CrudDao;
import com.boco.modules.fdoc.model.ServicepackDetailsEntity;
import com.boco.modules.fdoc.model.SigServicepackEntity;
import com.boco.modules.fdoc.vo.ServicepackDetailsVo;
import com.boco.modules.fdoc.vo.SigServicepackVo;

@MyBatisDao
public interface SigServicepackDao extends CrudDao<SigServicepackEntity>{
	/**
	 * 根据服务包id获取详细服务列表
	 * @param servicepackId
	 * @return
	 */
	public List<ServicepackDetailsVo> getServicepackDetail(int servicepackId);
	/**
	 * 查看居民签约所选择的服务包
	 * @param idCard
	 * @return
	 */
	public SigServicepackVo getServicepackByIdCard(String idCard);
	/**
	 * 
	 * findSvsPackList:(得到所有违未被逻辑删除的签约服务包). <br/>
	 * @author ken
	 * @param servicepackEntity
	 * @return
	 */
	public List<SigServicepackEntity> findSvsPackList(SigServicepackEntity servicepackEntity);
	
	/**
	 * 新增签约服务包
	 */
	public int insertSvsPackInfo(SigServicepackEntity sigSvsPackEntity); 
	/**
	 * 
	 * getSigSvsPackByName:(这里用一句话描述这个方法的作用). <br/>
	 * @author ken
	 * @param packName
	 * @return
	 */
	public SigServicepackVo getSigSvsPackByName(String packName);
	
	/**
	 * 根据签约服务包id查找签约服务包
	 * getSigSvsPackById:(这里用一句话描述这个方法的作用). <br/>
	 * @author ken
	 * @param id
	 * @return
	 */
	
	public SigServicepackVo getSigSvsPackById(int id);
	/**
	 * 根据id，逻辑删除签约服务包
	 * deleteSigSvsPack:(这里用一句话描述这个方法的作用). <br/>
	 * @author ken
	 * @param id
	 * @return
	 */
	public int deleteSigSvsPack(int sigId);
	/**
	 * 根据签约服务包id删除签约服务包中间关系
	 * updateSigSvsPackDtlRln:(这里用一句话描述这个方法的作用). <br/>
	 * @author ken
	 * @param sigId
	 * @return
	 */
	public int updateSigSvsPackDtlRln(int sigId);
	/**
	 * 
	 * updateSigSvsPackDtlsRln:(这里用一句话描述这个方法的作用). <br/>	 *
	 * @author ken
	 * @return
	 */
	public int updateSigSvsPackDtlsRln(int sigId,int detailsId);
	/**
	 *根据条件获取未分配的中间服务关系
	 * findUnSvsPackDetailsList:(这里用一句话描述这个方法的作用). <br/>
	 * @author ken
	 * @param entity
	 * @return
	 */
	public List<ServicepackDetailsEntity> findUnSvsPackDetailsList(int sigId); 
	/**
	 * 
	 * getSvspackDtlLst:(这里用一句话描述这个方法的作用). <br/>

	 * @author ken
	 * @param entity
	 * @return
	 */
	public List<ServicepackDetailsEntity> getSvspackDtlLst(ServicepackDetailsEntity entity);
}
